package com.sinping.qh.service.admin.lab;

import com.sinping.qh.api.support.FrontPage;
import com.sinping.qh.api.support.ResDto;
import com.sinping.qh.dto.admin.lab.LabInspectItemRelationDto;
import com.sinping.qh.dto.admin.lab.LabInspectItemTreeDto;
import com.sinping.qh.dto.admin.lab.LabOrderDto;
import com.sinping.qh.query.lab.LabInspectItemTreeQuery;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author jiahuaiqing
 * @create 2018/6/9
 */
public interface ILabInspectItemTreeService {

    ResDto addLabInspectItemOne(HttpServletRequest request, LabInspectItemTreeDto labInspectItemTreeDto);

    ResDto addLabInspectItemTwo(HttpServletRequest request, LabInspectItemTreeDto labInspectItemTreeDto);

    ResDto addLabInspectItemThree(HttpServletRequest request, LabInspectItemTreeDto labInspectItemTreeDto);
    ResDto addLaboratoryInspectItemRelation(HttpServletRequest request, LabInspectItemRelationDto labInspectItemTreeDto);
    ResDto deleteLaboratoryInspectItemRelation(HttpServletRequest request, LabInspectItemRelationDto labInspectItemTreeDto);
    /**
     * 获取--实验室已经配置的检查项
     */
    ResDto getLaboratoryInspectItemRelation(HttpServletRequest request, String labId);

    ResDto getLabInspectItemDescRelation(HttpServletRequest request, String itemSubcategory,String lab_id);

    /**
     * 三级隐患进行排序
     * @param request
     * @param labOrderDto
     * @return
     */
    ResDto putLabInspectItemDescOrder(HttpServletRequest request, LabOrderDto labOrderDto);


    ResDto updateLabInspectItem(HttpServletRequest request, LabInspectItemTreeDto labInspectItemTreeDto);


    ResDto getLabInspectItemFrontPage(FrontPage frontPage);

    ResDto getLabInspectItemList(LabInspectItemTreeQuery labInspectItemTreeQuery);
    ResDto getAllLabInspectItemList(List<String> itemSubcategoryList);
    /**
     * 获取所有的危险源隐患库列表
     */
    ResDto getAllLabDangerList();

    ResDto deleteLabInspectItemById(LabInspectItemTreeDto labInspectItemTreeDto);
    ResDto deleteLabInspectItemById(String id);

    /*
    * 危险源分布统计
    * */
    ResDto getDangerStatisticsList();

    /*
    * 按院系统计危险源分布实验室数量
    * */
    ResDto getDangerStatisticsListByUnitId(String unitId);

}
